#ifndef _DEVICEIO_SERVICE_H
#define _DEVICEIO_SERVICE_H

char deviceio_caps[] = 
{
	1,//video source number
	0,//video output number
	1,//audio source number
	0,//audio output number
	0//relay output number
};

typedef enum IO_VideoSource_Pos
{
	IO_VS_TOKEN = 0,
	IO_VS_FRATE,
	IO_VS_RESOL,
	IO_VS_IMAGE,
	IO_VS_EXTEN,
	IO_VS_ANYATTR,

	IO_VS_MAX_POS
}IO_VS_POS;

static char *io_vsource[][6] = 
{
	{
		"vsource_1",//token
		"30",//frame rate
		"1280;720;",//resolution: width;height;
		//imaging setting:
		//	BacklightCompensation: mode:off=0|on=1,level;
		//	Brightness;ColorSaturation;Contrast;
		//	Exposure: ......;
		//	Focus: ......;
		//	IrCutFilter: on=0|off=1|auto=2;
		//	Sharpness;
		//	WideDynamicRange: mode:off=0|on=1,level;
		//	WhiteBalance: mode:auto=0|manual=1,CrGain,CbGain,__size;
		//	Extension;__anyAttribute;
		"0,25;128;128;128;0;0;0;128;0,120;0,0,0,0;0;0;", 
		NULL, //extension
		NULL //anyattribute
	}
};

typedef enum
{
	IO_VO_TOKEN = 0,
	IO_VO_LAYOUT,
	IO_VO_ANYSIZE,
	IO_VO_ANY,
	IO_VO_ANYATTR,

	IO_VO_MAX_POS
}IO_VO_POS;
static char *io_voutput[][5] = 
{
	{
		"voutput_1", //token
		"1;pane1,0.0,1.0,0.0,-1.0;pane2,0.0,1.0,1.0,0.0;pane3,-1.0,0.0,0.0,-1.0;pane4,-1.0,0.0,1.0,0.0;", //pane layout
		"0",//any size
		NULL,//any
		NULL, //any attribute
	}
};


typedef enum
{
	IO_AS_TOKEN = 0,
	IO_AS_CHN,
	IO_AS_ANYSIZE,
	IO_AS_ANY,
	IO_AS_ANYATTR,

	IO_AS_MAX_POS
}IO_AS_POS;
static char *io_asource [][5] = 
{
	{
		"asource_1", //token
		"2", //channels:mono:1,stereo:2
		"0", //any size
		NULL, //any 
		NULL //any attribute
	}
};


typedef enum
{
	IO_AO_TOKEN = 0,
	IO_AO_ANYSIZE,
	IO_AO_ANY,
	IO_AO_ANYATTR,

	IO_AO_MAX_POS
}IO_AO_POS;
static char *io_aoutput[][4] = 
{
	{
		"aoutput_1", //token
		"0", //any size
		NULL, //any 
		NULL //any attribute
	}
};

#endif

